//
//  HMDealCell.m
//  MeiTuanHD
//
//  Created by Romeo on 15/10/17.
//  Copyright © 2015年 itheima. All rights reserved.
//

#import "ZMDealCell.h"
#import "UIImageView+WebCache.h"
#import "ZMDealModel.h"

@interface ZMDealCell ()

///图像
@property (weak, nonatomic) IBOutlet UIImageView *iconView;
///标题
@property (weak, nonatomic) IBOutlet UILabel *titleLabel;
///描述
@property (weak, nonatomic) IBOutlet UILabel *descLabel;
///当前价格
@property (weak, nonatomic) IBOutlet UILabel *currentPriceLabel;
///原价
@property (weak, nonatomic) IBOutlet UILabel *listPriceLabel;
///已售出
@property (weak, nonatomic) IBOutlet UILabel *purchaseCountLabel;
///新单
@property (weak, nonatomic) IBOutlet UIImageView *dealNewView;
@property (weak, nonatomic) IBOutlet UIButton *coverButton;
@property (weak, nonatomic) IBOutlet UIImageView *checkImageView;

@end

@implementation ZMDealCell

#pragma mark 重写数据的 set 方法, 一旦接受到值, 就可以给界面赋值

- (void)setDealModel:(ZMDealModel *)dealModel {

    [self.iconView sd_setImageWithURL:[NSURL URLWithString:dealModel.s_image_url] placeholderImage:[UIImage imageNamed:@"placeholder_deal"]];
//    [self.iconView sd_setImageWithURL:[NSURL URLWithString:dealModel.image_url]];
    
    self.titleLabel.text = dealModel.title;
    
    self.descLabel.text = dealModel.desc;
    
    //4. 当前价格
    
    // 处理价格的显示
    //4.1 修改模型的类型为NSString或者NSNumber
    //4.2 判断小数点的位置来进行转换
    self.currentPriceLabel.text = [NSString stringWithFormat:@"¥ %@", dealModel.current_price];
    
    /**
     小数点     location    length
     9.99       1          4
     9.990      1          5
     */
    
    // 下面的代码只是对价格超长处理
    
    //rangeOfString: 传入一个字符串, 返回这个字符串的位置 (索引 长度)
    
    //1. 获取小数点索引位置
    // 查找位置: 2种结果, 1种是找到了, 还有1种是没找到, 没找到自动变成NSItegert的最大值
    NSInteger currentPriceLocation = [self.currentPriceLabel.text rangeOfString:@"."].location;
    
    //2. 判断小数点位置存在
    //NSLog(@"%zd", NSNotFound);
    //NSNotFound 是一个非常大的值
    if (currentPriceLocation != NSNotFound) {
        
        //3. 字符串中长度length - 小数点索引位置location > 3 说明需要截取
        if (self.currentPriceLabel.text.length - currentPriceLocation > 3) {
            
            //4. 重新给价格赋值 将超长的字符串转换层float, 在保留2位小数
            self.currentPriceLabel.text = [NSString stringWithFormat:@"¥ %.2f", [dealModel.current_price floatValue]];
        }
    }
    
    
    //5. 原价
    self.listPriceLabel.text = [NSString stringWithFormat:@"¥ %@", dealModel.list_price];
    
    //1. 获取小数点索引位置
    NSInteger listPriceLocation = [self.listPriceLabel.text rangeOfString:@"."].location;
    
    //2. 判断小数点位置存在
    if (listPriceLocation != NSNotFound) {
        
        //3. 字符串中长度length - 小数点索引位置location > 3 说明需要截取
        if (self.listPriceLabel.text.length - listPriceLocation > 3) {
            
            //4. 重新给价格赋值 将超长的字符串转换层float, 在保留2位小数
            self.listPriceLabel.text = [NSString stringWithFormat:@"¥ %.2f", [dealModel.list_price floatValue]];
        }
    }
    
    //6. 已售
    self.purchaseCountLabel.text = [NSString stringWithFormat:@"已售 %zd",dealModel.purchase_count];
    
    //7. 新单图像的处理
    // 什么时候该隐藏: 获取这个团购订单的发布时间 < 以及获取系统的当前时间 = 很久之前的订单要隐藏
    //2016-02-18 将系统时间也换成模型的样式, 然后比较
    //NSLog(@"date: %@", dealModel.publish_date);
    
    //7.1 获取系统时间
    NSDate *nowDate = [NSDate date];
    
    //7.2 格式转换类
    NSDateFormatter *fmt = [NSDateFormatter new];
    
    //7.3 设置要转换的格式
    fmt.dateFormat = @"yyyy-MM-dd";
    
    //7.4 转换字符串
    NSString *nowDateStr = [fmt stringFromDate:nowDate];
    
    //7.5 比较字符串
    // 隐藏 : 模型的发布日期 < 当前的日期
    //NSOrderedAscending : 升序 左边小右边大
    self.dealNewView.hidden = [dealModel.publish_date compare:nowDateStr] == NSOrderedAscending ? YES : NO;

 }


#pragma mark 补充, 实际开发中, 直接在xib中设置即可
#pragma mark 使用代码添加背景图像
- (void)awakeFromNib
{
    //方式一:
//    self.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bg_dealcell"]];
}

#pragma mark 方式二: 绘图 下面这种省内存
- (void)drawRect:(CGRect)rect
{
    [super drawRect:rect];
    
    [[UIImage imageNamed:@"bg_dealcell"] drawInRect:rect];
}


@end
